Customizing your DROD installation
Graphics
Sound effects
Music
Other options
Using the console
Your local DROD installation may be customized/modded by creating the appropriate
files and altering the game's Data/drod.ini file in the following ways:
Graphics
You may show new or different graphics in the game by editing the entries
listed under the [Graphics] section.
Selectively override the in-game tile sprites by adding:
General=<base name of my tile files>
Add your own room styles by adding new semicolon-separated entries to the following line:
Style=<my style name>
and adding a separate line that says
<my style name>=<base name of my style's graphics files>
New or existing sky images for this style may be designated by adding the line:
<my style name> Skies=<name of my style's sky files for each light level>
Clock specifies the base name(s) of image files used to display the threat clock (turn counter).
<basename>1 is the image file used for displaying half-turn increments and <basename>2 displays whole-turn increments.
The threat clock graphics may be substituted or augmented by modifying this entry.
If multiple filenames are indicated, clicking the clock image in-game will change
to the next set of clock images.
Which images are used for existing styles may be likewise changed.
Image files in the game's Data/Bitmaps subdirectory may also be modified or
replaced for personal use.
PNG, JPG, and BMP image file formats are supported.
Sound effects
Play different sound effects by modifying the entries in the [Waves] section.
You may either replace the stock sound effects with your own sound file names
or add additional sound effects to a line (semicolon-separated).
Ogg Vorbis and Wave sound file formats are supported.
Music
Play different songs in-game by modifying the entries in the [Songs] section.
Ogg Vorbis and Wave sound file formats are supported.
Other options
The [Customizing] section:
-
AlwaysFullBlit: By default, DROD will selectively perform partial screen refreshes when this is heuristically determined to be faster
than a full screen refresh. Set this parameter to 1 to always perform a full screen refresh every video frame.
-
Set AutoLogin=1 to have the game skip the player login screen and
automatically select the player profile used last game session.
Player selection is skipped by default when only one player profile exists.
-
CrossfadeDuration defines screen transition times (maximum = 1000 milliseconds).
-
Set ExportSpeech=1 to have the game prompt you to export the speech
script for the hold to a separate HTML file when you export a hold. Use this
file as a convenience in externally preparing scripted character dialogue.
-
Set FullScoreUpload=1 to have the game
resend all your victory scores to CaravelNet,
including scores that may have already been sent,
the next you click "Upload My Scores" on the Player Settings Screen. Scores
are validated independently on the server, and your online results will be updated
as soon as your scores have been processed.
Suggestion: If you are missing scores for rooms only from a specific hold, click
the "Upload Hold Scores" button on the Change Location screen to resend all
victory demo scores for that hold only.
-
Set FullScreenMinimize=1 to automatically minimize
the game when running full screen and losing focus (for example by alt-tabbing). This
will prevent the game window always lingering in the background, covering windows underneath
it and the operating system's desktop. When enabled you will also experience a slight delay
when regaining focus, which the game requires to re-enter full screen mode.
-
FullScreenMode determines what kind of full screen mode is used.
-
0 - Borderless full-screen. Default, does not change the screen's resolution. When alt-tabbing will still display the window underneath, see FullScreenMinimize. for more information.
-
1 - Faux borderless full-screen, similar to the option above but done manually, which can cause issues like the task bar appearing above the game. It does not have the issue with the window always being visible that the regular borderless has.
-
2 - Legacy full-screen, which causes a change of screen resolution. May work best on older machines and operating systems, but is slow to go into/out of this mode, and alt-tabbing out of the game window will also be slow.
-
Set LogVars=1 to output a log of the current state of hold variables
while playing any hold for which your player has edit permissions.
-
Set MaxDelayForUndo=<# milliseconds> to change the maximum time allowed
to rewind moves in-game. Consider reducing this value if the delay experienced
when pressing R to rewind to a checkpoint or Backspace to undo the last move
is too long for your taste. Making this number smaller will enforce faster rewinds
but may also take up more memory while playing a room to store more detailed game
state information. Alternately, making the number larger will allow more delayed
rewinds for room sessions with many moves but will avoid using extra memory
for storing extra game state information. A very large value is equivalent to
how the DROD engine operated before version 3.0.
-
Set QuickPlayerExport=1 to have the game
provide you a "quick" option when you export a player profile. A quick export
includes only level and room start save positions to facilitate a smaller
file size and fast file import later.
All general room progress is retained, but demos and checkpoint saves are skipped.
-
RoomTransitionSpeed is the time spent
(in milliseconds) panning and adjusting the light setting when moving between rooms.
Change this value to alter the duration of room pan and lighting crossfade. Set
the value to 0 to disable these effects completely.
-
Set ValidateSavesOnImport to 0 to skip verifying the integrity of game
move sequences for saved games and demos when a player file is imported or a
hold is upgraded. This can speed up import significantly but saved games and demos
recorded in older versions of imported holds may appear broken when viewed.
-
Windib: By default, DROD uses Windib drivers under Windows.
Set this parameter to 0 to use DirectX drivers instead.
-
KeepSoundsFromDeletedSpeech:
By default when you delete a Speech command with attached sound the sound
data also gets deleted. Set this to 1 if you want the attached sound data
to be retained. This is helpful if you find yourself often copying commands
and accidentally losing data.
The [Localization] section:
Set Keyboard=1 to have new player profiles use the default Laptop
movement key settings. A value of 0 has new player profiles use
the default Desktop movement key settings.
Change Language=Eng to a different
three-letter code
to have the game play in a different language, if supported.
Set ExportText=1 to have the game prompt you to export the entire text of
a hold for hold localization when exporting a hold.
Add additional entries to this file in other languages alongside
the native texts for lines requiring translation, then re-import this file to add
support for this new language(s) to your hold.
ASCII/UTF-8 text file formats are supported.
Game engine localization.
You may localize your DROD installation by following these steps:
-
Run DROD with the command line argument "-exportTexts <filename>" to save all main game texts (i.e., excluding hold-specific text) for the current language to the file you specify. The file is output in ASCII/UTF-8 format with specific syntax to identify messages by number.
-
Translate texts to a new language, leaving the number codes alone. You may delete any codes and texts not requiring translation.
-
Change the Language setting in drod.ini to the code for the translated language.
-
Run DROD with the command line argument "-importTexts <filename>" to add or update the specified texts for the active language setting.
To help someone else localize their DROD installation, share your translation file
and have them perform steps 3 and 4.
Using the console
Press Enter while playing or in the room editor to bring up the chat/console dialog.
You may use the console to configure INI settings for DROD while you play.
Type "~SectionName:Setting" to view the current value for a setting.
Type "~SectionName:Setting=<value>" to update a setting.
The value you specify will take effect the next time the setting is queried.
Type "~help" to review this information in-game.
Game media files created or owned by Caravel Games may not be redistributed
without written permission from Caravel Games.
Further information may be found on the
Development Board
of the
CaravelNet Forum.
Contents